#pragma once

namespace DirectUI
{
	class CUIFont 
		: public CUINoAggregateObjectImplHelper<IUIFont, CUIFont, IUIFont>
	{
		DECLARE_CLASS(CUIFont, Font)
	public:
		CUIFont(void);
		CUIFont(
			LPCTSTR lpName, LPCTSTR lpFamilyName, float femSize, BOOL bBold, BOOL bItalic, 
			BOOL bUnderline, BOOL bStrikeout, LPCTSTR lpUnit);
		virtual ~CUIFont(void);

		virtual void	SetFont(
			LPCTSTR lpName, LPCTSTR lpFamilyName, float femSize, BOOL bBold, BOOL bItalic, 
			BOOL bUnderline, BOOL bStrikeout, LPCTSTR lpUnit);

		virtual LPCTSTR GetFamilyName();
		virtual float	GetSize();
		virtual LPCTSTR	GetUnit();

		virtual BOOL	IsBold();
		virtual BOOL	IsItalic();
		virtual BOOL	IsUnderline();
		virtual BOOL	IsStrikeout();

		virtual LPCTSTR GetName();

	private:
		CString	m_szName;
		CString m_szFamilyName;
		float	m_fSize;
		BOOL	m_bBold;
		BOOL	m_bItalic;
		BOOL	m_bUnderline;
		BOOL	m_bStrikeout;
		CString m_szUnit;
	};
};
